데이터 통합 (Data Integration)
1. 개요
데이터 통합(Data Integration)이란 서로 다른 소스(Source)로부터 발생하는 다양한 형태의 데이터를 결합하여 일관된 단일 뷰(Unified View)를 제공하는 기술적 프로세스를 의미한다.
현대 비즈니스 환경에서는 서비스의 확장과 마이크로서비스 아키텍처(MSA)의 도입으로 인해 데이터가 여러 데이터베이스, 클라우드 스토리지, 외부 API 등으로 파편화되는 '데이터 사일로(Data Silo)' 현상이 발생한다. 데이터 통합은 이러한 파편화된 데이터를 하나로 합쳐 데이터 중복을 제거하고, 분석의 정확도를 높이며, 전사적인 의사결정을 위한 신뢰할 수 있는 단일 진실 공급원(Single Source of Truth, SSOT)을 구축하는 것을 목적으로 한다.
2. 데이터 통합의 주요 방식
데이터를 통합하는 방식은 데이터의 처리 시점과 위치에 따라 크게 ETL, ELT, 그리고 데이터 가상화로 나뉜다.
2.1 ETL vs ELT
- ETL (Extract, Transform, Load): 데이터를 추출한 후, 대상 시스템에 적재하기 전 중간 단계(Staging Area)에서 변환 과정을 거치는 전통적인 방식이다. 정형 데이터 처리에 강점이 있으며, 적재 전 데이터 정제가 이루어지므로 저장 공간을 효율적으로 사용할 수 있다.
- ELT (Extract, Load, Transform): 데이터를 먼저 대상 시스템(주로 데이터 레이크)에 적재한 후, 필요할 때 대상 시스템의 컴퓨팅 자원을 활용해 변환하는 방식이다. 빅데이터 환경과 클라우드 데이터 웨어하우스의 성능 향상으로 인해 최근 널리 채택되고 있다.
| 구분 |
ETL (Extract → Transform → Load) |
ELT (Extract → Load → Transform) |
| 변환 시점 |
적재 전 (Pre-load) |
적재 후 (Post-load) |
| 변환 위치 |
별도의 ETL 서버 |
대상 시스템 (Target System) |
| 데이터 형태 |
주로 정형 데이터 |
정형, 반정형, 비정형 데이터 모두 가능 |
| 처리 속도 |
변환 단계에서 병목 발생 가능 |
대량 데이터의 빠른 적재 가능 |
| 유연성 |
스키마 변경 시 전체 프로세스 수정 필요 |
원본 데이터를 보존하므로 변환 로직 변경 용이 |
2.2 데이터 가상화 (Data Virtualization)
데이터 가상화는 데이터를 물리적으로 이동시키거나 복제하지 않고, 논리적인 추상화 계층을 통해 여러 소스의 데이터를 실시간으로 조회하는 방식이다. 물리적 저장소의 변경 없이 가상 뷰를 제공하므로 저장 비용을 절감하고 실시간성에 최적화되어 있다.
* 예시: 실제 데이터는 Oracle DB와 MongoDB에 각각 저장되어 있지만, 사용자는 하나의 SQL 쿼리로 두 데이터를 동시에 조회하는 가상 뷰를 사용하는 방식이다.
2.3 통합 방식 선택 기준 (Decision Tree)
상황에 맞는 통합 방식 선택을 위한 기준은 다음과 같다.
- 실시간 조회가 필요하며 데이터 이동 비용을 최소화해야 하는가?
- Yes $\rightarrow$ 데이터 가상화
- No $\rightarrow$ (다음 단계로)
- 데이터의 양이 매우 방대하며, 원본 데이터를 그대로 보존하여 다양한 분석을 수행해야 하는가?
- Yes $\rightarrow$ ELT (데이터 레이크 기반)
- No $\rightarrow$ (다음 단계로)
- 데이터의 정합성이 매우 중요하며, 정제된 정형 데이터만을 효율적으로 저장해야 하는가?
- Yes $\rightarrow$ ETL (데이터 웨어하우스 기반)
3. 데이터 통합 아키텍처
통합된 데이터가 저장되고 관리되는 구조는 목적과 데이터의 성격에 따라 다음과 같이 구분된다.
| 아키텍처 |
핵심 키워드 |
스키마 적용 시점 |
특징 |
| 데이터 웨어하우스 (DW) |
정제 / 정형 |
Schema-on-write |
엄격한 스키마를 가지며, SQL 기반의 복잡한 쿼리 분석에 최적화됨 |
| 데이터 레이크 (Lake) |
원시 / 비정형 |
Schema-on-read |
가공되지 않은 Raw Format 그대로 저장, 확장성이 뛰어나며 탐색적 분석에 유리 |
| 데이터 레이크하우스 |
유연성 / 정합성 |
혼합형 |
레이크의 저장 능력과 DW의 트랜잭션(ACID) 기능을 결합하여 고성능 쿼리 지원 |
4. 데이터 매핑 및 스키마 통합
서로 다른 시스템의 데이터를 합치기 위해서는 데이터 간의 관계를 정의하고 구조를 맞추는 과정이 필수적이다.
4.1 데이터 매핑 (Data Mapping)
데이터 매핑은 원천 시스템의 필드(Field)와 대상 시스템의 필드를 연결하는 과정이다. 예를 들어, A 시스템의 cust_id와 B 시스템의 customer_number가 동일한 의미를 가진다는 것을 정의하는 작업이다.
4.2 스키마 통합 (Schema Integration)
서로 다른 스키마를 가진 데이터 모델을 하나의 통합 모델로 합치는 과정이다.
* 스키마 충돌 해결: 동일한 개념에 다른 이름이 사용된 경우(동의어 충돌)나, 동일한 이름이 다른 의미로 사용된 경우(동음이의어 충돌)를 식별하여 표준 용어로 통일한다.
* 데이터 타입 일치: 정수형(Integer)과 문자열(String) 등 서로 다른 데이터 타입을 일관된 형식으로 변환한다.
5. 데이터 통합 프로세스 및 단계
표준적인 데이터 통합 워크플로우는 다음과 같은 단계로 진행된다.
- 원천 데이터 식별: 통합에 필요한 데이터 소스(DB, API, 파일 등)를 정의하고 접근 권한을 확보한다.
- 데이터 추출 (Extraction): 정의된 소스로부터 데이터를 읽어온다.
- Full Load: 전체 데이터를 주기적으로 다시 읽어오는 방식.
- CDC (Change Data Capture): 데이터베이스 로그를 모니터링하여 생성, 수정, 삭제 등 변경 사항만을 실시간으로 추출하는 기술. 네트워크 부하를 최소화하고 실시간 동기화를 가능하게 한다.
- 정제 및 변환 (Cleaning & Transformation):
- 정제 (Cleaning): 결측치(Null) 처리, 중복 데이터 제거, 이상치(Outlier) 제거 및 오타 수정을 통해 데이터 품질을 높인다.
- 변환 (Transformation): 서로 다른 단위의 통일(예: kg $\rightarrow$ lb), 코드 표준화(예: 01 $\rightarrow$ 서울), 데이터 집계(Aggregation), 파생 변수 생성 등을 수행하여 분석 가능한 형태로 가공한다.
- 로드 (Loading): 변환된 데이터를 최종 대상 시스템(DW, Lakehouse 등)에 적재한다.
- 검증 (Validation): 원천 데이터와 적재된 데이터의 건수, 합계 등을 비교하여 데이터 유실이나 변형이 없는지 확인한다.
6. 데이터 통합 성숙도 모델
조직의 데이터 통합 수준을 평가하기 위한 성숙도 모델은 일반적으로 다음과 같은 단계로 구분된다.
| 단계 |
명칭 |
특징 |
| 1단계 |
수동 통합 (Ad-hoc) |
필요할 때마다 수동으로 엑셀 등을 이용해 데이터를 합침. 일관성이 낮고 오류 가능성이 큼. |
| 2단계 |
반자동 통합 (Repeatable) |
일부 프로세스가 스크립트로 자동화됨. 특정 부서 내에서는 일관된 방식이 적용됨. |
| 3단계 |
표준화 통합 (Defined) |
전사적인 통합 표준과 도구가 도입됨. 데이터 매핑 문서와 거버넌스 체계가 수립됨. |
| 4단계 |
관리형 통합 (Managed) |
데이터 품질 지표(KPI)를 통해 통합 프로세스를 모니터링하고 지속적으로 최적화함. |
| 5단계 |
최적화 통합 (Optimized) |
실시간 CDC 및 AI 기반 자동 매핑 등이 적용되어 비즈니스 변화에 즉각 대응하는 상태. |
7. 주요 활용 사례 및 도구
7.1 활용 사례
- 전사적 자원 관리 (ERP) 통합: 인사, 재무, 영업 등 각 부서의 독립된 시스템을 통합하여 전사적 관점의 경영 지표를 산출한다.
- 고객 데이터 플랫폼 (CDP) 구축: 웹 로그, 앱 활동, 구매 이력, 고객 센터 상담 내역을 통합하여 고객 한 명에 대한 360도 뷰(Customer 360)를 구현하고 개인화 마케팅에 활용한다.
7.2 대표적인 통합 솔루션
- Enterprise ETL 도구: Informatica PowerCenter, Talend, IBM DataStage
- 오픈소스 및 데이터 파이프라인 도구:
- Apache Airflow: 워크플로우 관리(Orchestration) 도구로, 복잡한 데이터 파이프라인의 스케줄링과 모니터링에 널리 사용됨.
- Apache NiFi: 데이터 흐름(Data Flow) 자동화 도구로, 실시간 데이터 수집 및 전달에 최적화됨.
- Logstash: 로그 데이터 수집 및 변환 도구로, 주로 ELK 스택의 일부로 활용됨.
- 클라우드 네이티브 도구: AWS Glue, Azure Data Factory, Google Cloud Dataflow
8. 데이터 통합 시 고려사항 및 한계
8.1 데이터 거버넌스 및 품질 관리
통합된 데이터의 소유권, 책임, 표준을 정의하는 데이터 거버넌스(Data Governance)가 부재할 경우, 통합 데이터는 빠르게 오염되어 신뢰성을 잃게 된다. 데이터 프로파일링을 통해 원천 데이터의 품질을 사전에 진단하는 과정이 필수적이다.
8.2 보안 및 개인정보 보호
여러 소스의 데이터를 합치는 과정에서 민감 정보(개인 식별 정보 등)가 노출될 위험이 크다. 데이터 마스킹(Masking), 암호화, 접근 제어(RBAC) 등의 보안 조치가 적용되어야 하며, GDPR이나 개인정보보호법과 같은 법적 규제를 준수해야 한다.
8.3 데이터 충돌 해결
서로 다른 시스템에서 동일한 대상에 대해 서로 다른 값을 가지고 있는 경우(예: A 시스템의 주소와 B 시스템의 주소가 다른 경우), 어떤 데이터를 우선시할 것인지에 대한 생존 규칙(Survivorship Rule)을 정의하여 충돌을 해결해야 한다.
9. 최신 동향
중앙 집중식 통합 방식(DW/Lake)이 데이터 규모의 폭증과 조직의 복잡성 증가로 인해 한계에 부딪히면서, 다음과 같은 분산형/지능형 아키텍처가 등장하고 있다.
- 데이터 메시 (Data Mesh): 데이터를 중앙에서 통합 관리하는 대신, 각 도메인(부서)이 자신의 데이터를 제품(Data Product)으로 정의하고 관리하는 분산형 거버넌스 모델이다.
- 데이터 패브릭 (Data Fabric): 메타데이터와 AI를 활용하여 흩어져 있는 데이터 소스들을 가상으로 연결하고, 사용자가 데이터의 물리적 위치와 상관없이 필요한 데이터에 쉽게 접근할 수 있도록 하는 지능형 데이터 계층이다.
# 데이터 통합 (Data Integration)
## 1. 개요
**데이터 통합(Data Integration)**이란 서로 다른 소스(Source)로부터 발생하는 다양한 형태의 데이터를 결합하여 일관된 단일 뷰(Unified View)를 제공하는 기술적 프로세스를 의미한다.
현대 비즈니스 환경에서는 서비스의 확장과 마이크로서비스 아키텍처(MSA)의 도입으로 인해 데이터가 여러 데이터베이스, 클라우드 스토리지, 외부 API 등으로 파편화되는 '데이터 사일로(Data Silo)' 현상이 발생한다. 데이터 통합은 이러한 파편화된 데이터를 하나로 합쳐 데이터 중복을 제거하고, 분석의 정확도를 높이며, 전사적인 의사결정을 위한 신뢰할 수 있는 단일 진실 공급원(Single Source of Truth, SSOT)을 구축하는 것을 목적으로 한다.
## 2. 데이터 통합의 주요 방식
데이터를 통합하는 방식은 데이터의 처리 시점과 위치에 따라 크게 ETL, ELT, 그리고 데이터 가상화로 나뉜다.
### 2.1 ETL vs ELT
* **ETL (Extract, Transform, Load):** 데이터를 추출한 후, 대상 시스템에 적재하기 전 중간 단계(Staging Area)에서 변환 과정을 거치는 전통적인 방식이다. 정형 데이터 처리에 강점이 있으며, 적재 전 데이터 정제가 이루어지므로 저장 공간을 효율적으로 사용할 수 있다.
* **ELT (Extract, Load, Transform):** 데이터를 먼저 대상 시스템(주로 데이터 레이크)에 적재한 후, 필요할 때 대상 시스템의 컴퓨팅 자원을 활용해 변환하는 방식이다. 빅데이터 환경과 클라우드 데이터 웨어하우스의 성능 향상으로 인해 최근 널리 채택되고 있다.
| 구분 | ETL (Extract → Transform → Load) | ELT (Extract → Load → Transform) |
| :--- | :--- | :--- |
| **변환 시점** | 적재 전 (Pre-load) | 적재 후 (Post-load) |
| **변환 위치** | 별도의 ETL 서버 | 대상 시스템 (Target System) |
| **데이터 형태** | 주로 정형 데이터 | 정형, 반정형, 비정형 데이터 모두 가능 |
| **처리 속도** | 변환 단계에서 병목 발생 가능 | 대량 데이터의 빠른 적재 가능 |
| **유연성** | 스키마 변경 시 전체 프로세스 수정 필요 | 원본 데이터를 보존하므로 변환 로직 변경 용이 |
### 2.2 데이터 가상화 (Data Virtualization)
데이터 가상화는 데이터를 물리적으로 이동시키거나 복제하지 않고, 논리적인 추상화 계층을 통해 여러 소스의 데이터를 실시간으로 조회하는 방식이다. 물리적 저장소의 변경 없이 가상 뷰를 제공하므로 저장 비용을 절감하고 실시간성에 최적화되어 있다.
* **예시:** 실제 데이터는 Oracle DB와 MongoDB에 각각 저장되어 있지만, 사용자는 하나의 SQL 쿼리로 두 데이터를 동시에 조회하는 가상 뷰를 사용하는 방식이다.
### 2.3 통합 방식 선택 기준 (Decision Tree)
상황에 맞는 통합 방식 선택을 위한 기준은 다음과 같다.
* **실시간 조회가 필요하며 데이터 이동 비용을 최소화해야 하는가?**
* Yes $\rightarrow$ **데이터 가상화**
* No $\rightarrow$ (다음 단계로)
* **데이터의 양이 매우 방대하며, 원본 데이터를 그대로 보존하여 다양한 분석을 수행해야 하는가?**
* Yes $\rightarrow$ **ELT** (데이터 레이크 기반)
* No $\rightarrow$ (다음 단계로)
* **데이터의 정합성이 매우 중요하며, 정제된 정형 데이터만을 효율적으로 저장해야 하는가?**
* Yes $\rightarrow$ **ETL** (데이터 웨어하우스 기반)
## 3. 데이터 통합 아키텍처
통합된 데이터가 저장되고 관리되는 구조는 목적과 데이터의 성격에 따라 다음과 같이 구분된다.
| 아키텍처 | 핵심 키워드 | 스키마 적용 시점 | 특징 |
| :--- | :--- | :--- | :--- |
| **데이터 웨어하우스 (DW)** | **정제 / 정형** | Schema-on-write | 엄격한 스키마를 가지며, SQL 기반의 복잡한 쿼리 분석에 최적화됨 |
| **데이터 레이크 (Lake)** | **원시 / 비정형** | Schema-on-read | 가공되지 않은 Raw Format 그대로 저장, 확장성이 뛰어나며 탐색적 분석에 유리 |
| **데이터 레이크하우스** | **유연성 / 정합성** | 혼합형 | 레이크의 저장 능력과 DW의 트랜잭션(ACID) 기능을 결합하여 고성능 쿼리 지원 |
## 4. 데이터 매핑 및 스키마 통합
서로 다른 시스템의 데이터를 합치기 위해서는 데이터 간의 관계를 정의하고 구조를 맞추는 과정이 필수적이다.
### 4.1 데이터 매핑 (Data Mapping)
데이터 매핑은 원천 시스템의 필드(Field)와 대상 시스템의 필드를 연결하는 과정이다. 예를 들어, A 시스템의 `cust_id`와 B 시스템의 `customer_number`가 동일한 의미를 가진다는 것을 정의하는 작업이다.
### 4.2 스키마 통합 (Schema Integration)
서로 다른 스키마를 가진 데이터 모델을 하나의 통합 모델로 합치는 과정이다.
* **스키마 충돌 해결:** 동일한 개념에 다른 이름이 사용된 경우(동의어 충돌)나, 동일한 이름이 다른 의미로 사용된 경우(동음이의어 충돌)를 식별하여 표준 용어로 통일한다.
* **데이터 타입 일치:** 정수형(Integer)과 문자열(String) 등 서로 다른 데이터 타입을 일관된 형식으로 변환한다.
## 5. 데이터 통합 프로세스 및 단계
표준적인 데이터 통합 워크플로우는 다음과 같은 단계로 진행된다.
1. **원천 데이터 식별:** 통합에 필요한 데이터 소스(DB, API, 파일 등)를 정의하고 접근 권한을 확보한다.
2. **데이터 추출 (Extraction):** 정의된 소스로부터 데이터를 읽어온다.
* **Full Load:** 전체 데이터를 주기적으로 다시 읽어오는 방식.
* **CDC (Change Data Capture):** 데이터베이스 로그를 모니터링하여 생성, 수정, 삭제 등 변경 사항만을 실시간으로 추출하는 기술. 네트워크 부하를 최소화하고 실시간 동기화를 가능하게 한다.
3. **정제 및 변환 (Cleaning & Transformation):**
* **정제 (Cleaning):** 결측치(Null) 처리, 중복 데이터 제거, 이상치(Outlier) 제거 및 오타 수정을 통해 데이터 품질을 높인다.
* **변환 (Transformation):** 서로 다른 단위의 통일(예: kg $\rightarrow$ lb), 코드 표준화(예: 01 $\rightarrow$ 서울), 데이터 집계(Aggregation), 파생 변수 생성 등을 수행하여 분석 가능한 형태로 가공한다.
4. **로드 (Loading):** 변환된 데이터를 최종 대상 시스템(DW, Lakehouse 등)에 적재한다.
5. **검증 (Validation):** 원천 데이터와 적재된 데이터의 건수, 합계 등을 비교하여 데이터 유실이나 변형이 없는지 확인한다.
## 6. 데이터 통합 성숙도 모델
조직의 데이터 통합 수준을 평가하기 위한 성숙도 모델은 일반적으로 다음과 같은 단계로 구분된다.
| 단계 | 명칭 | 특징 |
| :--- | :--- | :--- |
| **1단계** | **수동 통합 (Ad-hoc)** | 필요할 때마다 수동으로 엑셀 등을 이용해 데이터를 합침. 일관성이 낮고 오류 가능성이 큼. |
| **2단계** | **반자동 통합 (Repeatable)** | 일부 프로세스가 스크립트로 자동화됨. 특정 부서 내에서는 일관된 방식이 적용됨. |
| **3단계** | **표준화 통합 (Defined)** | 전사적인 통합 표준과 도구가 도입됨. 데이터 매핑 문서와 거버넌스 체계가 수립됨. |
| **4단계** | **관리형 통합 (Managed)** | 데이터 품질 지표(KPI)를 통해 통합 프로세스를 모니터링하고 지속적으로 최적화함. |
| **5단계** | **최적화 통합 (Optimized)** | 실시간 CDC 및 AI 기반 자동 매핑 등이 적용되어 비즈니스 변화에 즉각 대응하는 상태. |
## 7. 주요 활용 사례 및 도구
### 7.1 활용 사례
* **전사적 자원 관리 (ERP) 통합:** 인사, 재무, 영업 등 각 부서의 독립된 시스템을 통합하여 전사적 관점의 경영 지표를 산출한다.
* **고객 데이터 플랫폼 (CDP) 구축:** 웹 로그, 앱 활동, 구매 이력, 고객 센터 상담 내역을 통합하여 고객 한 명에 대한 360도 뷰(Customer 360)를 구현하고 개인화 마케팅에 활용한다.
### 7.2 대표적인 통합 솔루션
* **Enterprise ETL 도구:** Informatica PowerCenter, Talend, IBM DataStage
* **오픈소스 및 데이터 파이프라인 도구:**
* **Apache Airflow:** 워크플로우 관리(Orchestration) 도구로, 복잡한 데이터 파이프라인의 스케줄링과 모니터링에 널리 사용됨.
* **Apache NiFi:** 데이터 흐름(Data Flow) 자동화 도구로, 실시간 데이터 수집 및 전달에 최적화됨.
* **Logstash:** 로그 데이터 수집 및 변환 도구로, 주로 ELK 스택의 일부로 활용됨.
* **클라우드 네이티브 도구:** AWS Glue, Azure Data Factory, Google Cloud Dataflow
## 8. 데이터 통합 시 고려사항 및 한계
### 8.1 데이터 거버넌스 및 품질 관리
통합된 데이터의 소유권, 책임, 표준을 정의하는 **데이터 거버넌스(Data Governance)**가 부재할 경우, 통합 데이터는 빠르게 오염되어 신뢰성을 잃게 된다. 데이터 프로파일링을 통해 원천 데이터의 품질을 사전에 진단하는 과정이 필수적이다.
### 8.2 보안 및 개인정보 보호
여러 소스의 데이터를 합치는 과정에서 민감 정보(개인 식별 정보 등)가 노출될 위험이 크다. 데이터 마스킹(Masking), 암호화, 접근 제어(RBAC) 등의 보안 조치가 적용되어야 하며, GDPR이나 개인정보보호법과 같은 법적 규제를 준수해야 한다.
### 8.3 데이터 충돌 해결
서로 다른 시스템에서 동일한 대상에 대해 서로 다른 값을 가지고 있는 경우(예: A 시스템의 주소와 B 시스템의 주소가 다른 경우), 어떤 데이터를 우선시할 것인지에 대한 **생존 규칙(Survivorship Rule)**을 정의하여 충돌을 해결해야 한다.
## 9. 최신 동향
중앙 집중식 통합 방식(DW/Lake)이 데이터 규모의 폭증과 조직의 복잡성 증가로 인해 한계에 부딪히면서, 다음과 같은 분산형/지능형 아키텍처가 등장하고 있다.
* **데이터 메시 (Data Mesh):** 데이터를 중앙에서 통합 관리하는 대신, 각 도메인(부서)이 자신의 데이터를 제품(Data Product)으로 정의하고 관리하는 분산형 거버넌스 모델이다.
* **데이터 패브릭 (Data Fabric):** 메타데이터와 AI를 활용하여 흩어져 있는 데이터 소스들을 가상으로 연결하고, 사용자가 데이터의 물리적 위치와 상관없이 필요한 데이터에 쉽게 접근할 수 있도록 하는 지능형 데이터 계층이다.